package com.lu.pojo.thread.status;

/**
 * @author luzhenfang
 * @date 2020 05 23
 * @description 线程礼让,暂停当前执行的线程，但不阻塞。
 * 让 线程从运行状态转变为就绪状态
 * 让 cpu 重新调度(不一定成功)
 */
public class ThreadYield {

    public static void main(String[] args) {
        MyYield myYield = new MyYield();
        new Thread(myYield,"a").start();
        new Thread(myYield,"b").start();
    }
}

class MyYield implements Runnable{

    @Override
    public void run() {
        System.out.println(Thread.currentThread().getName()+ "线程开始执行");
        if(Thread.currentThread().getName().equals("a")){
            // 礼让
            Thread.yield();
        }
        System.out.println(Thread.currentThread().getName()+"线程停止执行");
    }
}